
package cn.maihe.elg.operation.supports.bank.cmb.tradingmanager.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 招商银行交易管家(记账)查询参数
 * 查看招商文档
 * <a href="https://openbiz.cmbchina.com/developer/UI/Business/CloudDirectConnect/Public/DocumentCenter/DocDetail.aspx?bizkey=DCCT20201214145038074&fabizkey=1">招商文档</a>
 *
 * @version V1.0
 * (C)2021-2022 福建省金柠网络科技有限公司. All rights reserved.
 * @author: Sidon
 * @createTime: 2022/1/13-16:17
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CashSubAccount extends PubReqConfig{
    /**
     * 结算户账号(适用账号),开通云直连企业的招商卡号
     */
    @JSONField(name = "accnbr")
    private String bankAccount;

    /**
     * 分行号，查看招商文档[附录A]
     */
    @JSONField(name = "accnbr")
    private String bankBranchNumber;

    /**
     * 记账子单元编号，，10位纯数字
     */
    @JSONField(name = "dmanbr")
    private String subAccount;

    /**
     * 记账子单元名称
     */
    @JSONField(name = "dmanam")
    private String subAccountName;

    /**
     * 额度控制标志，Y：允许透支 N：不允许透支
     */
    @JSONField(name = "ovrctl")
    private String overdraft;

    /**
     * 退票处理方式，Y：退回原记账子单元 N：退回结算户
     */
    @JSONField(name = "bcktyp")
    private String backType;

    /**
     * 余额非零时是否可关闭，Y：可关闭，N：不可关闭
     */
    @JSONField(name = "clstyp")
    private String balanceCloseType;

    /**
     * 起始日期，用于查询历史记录
     */
    @JSONField(name = "begdat")
    private String beginDate;

    /**
     * 结束日期，用于查询历史记录
     */
    @JSONField(name = "enddat")
    private String endDate;


    //############# 以下字段用于记账子单元[内部互转]
    /**
     * 付款方记账子单元编号
     */
    @JSONField(name = "enddat")
    private String paymentAccount;

    /**
     * 收款方记账子单元编号
     */
    @JSONField(name = "enddat")
    private String acceptAccount;

    /**
     * 转账金额
     */
    @JSONField(name = "enddat")
    private String amount;

    /**
     * 交易摘要
     */
    @JSONField(name = "enddat")
    private String transRemark;
}
